home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)zl.d64
/
prc.label'axis
< prev
next >
Wrap
Text File
|
2007-03-01
|
2KB
|
65 lines
0010 ╨╥╧├ LABEL'AXIS(NUM'INTERVALS,INTERVAL,START,OX,OY,LENGTH,AXIS) ├╠╧╙┼─
0020 //GRAPH AXIS LABELLER: REQUIRES GRAPHICS TO BE ACTIVATED BEFORE CALLING
0030 //╒SES THE STARTUP SCREEN CO-ORDINATES TO SPECIFY LENGTHS ETC.
0040
0050 //NUM'INTERVALS:- THE NUMBER OF INTERVALS REQUIRED.
0060 //INTERVAL:- THE DISTANCE BETWEEN ADJACENT GRADUATION TICKS SPECIFIED
0070 //IN THE SCALED UNITS TO BE USED.
0080 //START:- THE START VALUE OF THE LABEL TO BE PLACED AT THE BEGINNING OF
0090 //THE GRAPH AXIS AT OX,OY
0100 //LENGTH:- THE LENGTH OF THE AXIS LINE IN PIXELS.
0110 //AXIS:- A FLAG USED TO SPECIFY WHICH AXIS IS TO BE DRAWN AND LABELLED
0120 //=0 FOR THE X AXIS
0130 //=1 FOR THE Y AXIS
0140 //OX,OY:- THE SCREEN CO-ORDINATES OF THE START OF THE AXIS TO BE DRAWN.
0150
0160 ╔═╨╧╥╘ TEXTSTYLE,MOVETO,DRAW,PLOTTEXT
0170 ─╔═ N$ ╧╞ 6
0180 TICK:=6 //SIZE OF A GRADUATION MARK
0190 GAP:=2 //GAP BETWEEN TICK AND TEXT
0200 H:=8 //TEXT HEIGHT
0210 W:=8 //TEXT WIDTH
0220
0230 TEXTSTYLE(1,1,0,-1)
0240 GRAD:=LENGTH/NUM'INTERVALS
0250 MOVETO(OX,OY)
0260 ├┴╙┼ AXIS ╧╞
0270 ╫╚┼╬ 0
0280 DRAW(LENGTH,0)
0290 ╫╚┼╬ 1
0300 DRAW(0,LENGTH)
0310 ╧╘╚┼╥╫╔╙┼
0320 ╙╘╧╨ "UNEXPECTED AXIS DEFINITION"
0330 ┼╬─├┴╙┼
0340 ╞╧╥ I:=0 ╘╧ NUM'INTERVALS ─╧
0350 ├┴╙┼ AXIS ╧╞
0360 ╫╚┼╬ 0
0370 X:=OX+I*GRAD
0380 Y:=OY
0390 ╫╚┼╬ 1
0400 X:=OX
0410 Y:=OY+I*GRAD
0420 ┼╬─├┴╙┼
0430 MOVETO(X,Y)
0440 ├┴╙┼ AXIS ╧╞
0450 ╫╚┼╬ 0
0460 DRAW(0,-TICK)
0470 ╫╚┼╬ 1
0480 DRAW(-TICK,0)
0490 ┼╬─├┴╙┼
0500 NUM:=START+I*INTERVAL
0510 N$:=╙╘╥$(NUM)
0520 L:=╠┼╬(N$)
0530 L2:=L*.5
0540 ├┴╙┼ AXIS ╧╞
0550 ╫╚┼╬ 0
0560 PX:=X-W*L2
0570 PY:=Y-TICK-GAP-H
0580 ╫╚┼╬ 1
0590 PX:=X-TICK-GAP-W*L
0600 PY:=Y-H*.5
0610 ┼╬─├┴╙┼
0620 PLOTTEXT(PX,PY,N$)
0630 ┼╬─╞╧╥ I
0640 ┼╬─╨╥╧├ LABEL'AXIS